// 定义api请求的公用域名,封装HTTP请求
import {
	devUrl,
	buildUrl,
	tokenUrl,
} from '@/common/config.js'

// 设置请求api接口的基础路径
// const baseUrl = process.env.NODE_ENV === 'production' ? buildUrl : /dev.api/;
const baseUrl = buildUrl

/**
 * 封装uni.request
 * @param url     api接口地址
 * @param method  uni.request请求方法 "POST" 和 "GET"
 * @param data    uni.request请求携带的参数 {}
 * @param header  uni.request请求携带的header {}
 */
const request = (url, method, data, header) => {
	return new Promise((resolve, reject) => {
		uni.request({
			//#ifdef H5
			url: process.env.NODE_ENV === 'production' ? url : /dev.api/ + url,
			//#endif
			//#ifdef APP-PLUS
			url: baseUrl + url,
			//#endif
			
			// url: /dev.api/ + url,
			method: method || "GET",
			data: data,
			header: header || {
				'Access-Control-Allow-Origin': '*'
			}
		}).then(data => {
			let [err, res] = data;
			if (res.data.code === '200') { //调用接口成功返回的正常数据
				return resolve(res.data)
			} else if (res.data.code !== 0) { //调用接口成功返回的异常数据（例：缺少必传字段等）
				// uni.showToast({
				// 	title: res.data.message || res.data.msg ,
				// 	icon: 'none'
				// })
				return resolve(res.data)
			}
		}).catch(error => { //调用接口失败时返回的数据
			let [err, res] = error;
			reject(err)
		})
	})
}

export default {
	request,
	baseUrl,
	tokenUrl,
}
